﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="Use the following commands to analyze User-Mode Dump Heap (UMDH) logs that were created by running UMDH with the syntax described in Analyze a Running Process."/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>Analyze UMDH Logs</title>

<meta name="MS-HAID" content="UMDH_c7556c73-4880-45bb-b2be-dddec81093c7.xml"/>


<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(139);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/analyze_umdh_logs.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><A href="analyze_a_running_process.htm" title="Previous topic"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_n.gif" border="0"></a><A href="interpreting_a_umdh_log.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
<A href="introduction6.htm">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</A> &gt; <A href="debugging_resources.htm">Debugging Resources</A> &gt; <A href="extra_tools.htm">Tools Included in Debugging Tools for Windows</A> &gt; <A href="umdh.htm">UMDH</A> &gt; <A href="umdh_commands.htm">UMDH Commands</A> &gt; </div>
	<div id="winchm_template_title">Analyze UMDH Logs</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>Use the following commands to analyze User-Mode Dump Heap (UMDH) logs that were created by running UMDH with the syntax described in <a href="#Bookmark138"><b>Analyze a Running Process</b></a>. This analysis focuses on allocations, instead of stack traces.</p>
<p>You can analyze a single log file or compare logs from different runs to detect the changes in the program or driver's memory dump allocations over time.</p>
<pre class="syntax"><b>umdh [-d] [-v] [-l] </b><i>File1</i><b> [</b><i>File2</i><b>] [-h | ?]</b></pre>
<h2><a id="ddk_analyze_umdh_logs_dtools"></a><a id="DDK_ANALYZE_UMDH_LOGS_DTOOLS"></a>Parameters</h2>
<p></p>
<dl>
<dt><a id="_______-d______"></a><a id="_______-D______"></a>       <b>-d</b>      </dt>
<dd>
<p>Displays numeric data in decimal numbers. The default is hexadecimal.</p>
</dd>
<dt><a id="_______-v______"></a><a id="_______-V______"></a>       <b>-v</b>      </dt>
<dd>
<p>Verbose mode. Includes the traces, as well as summary information. The traces are most helpful when analyzing a single log file.</p>
</dd>
<dt><a id="_______-l______"></a><a id="_______-L______"></a>       <b>-l</b>      </dt>
<dd>
<p>Includes file names and line numbers in the log. (Please note that the parameter is the lowercased letter "L," not the number one.)</p>
</dd>
<dt><a id="_______File1__File2_"></a><a id="_______file1__file2_"></a><a id="_______FILE1__FILE2_"></a>       <i>File1 </i>[<i>File2</i>]</dt>
<dd>
<p>Specifies the UMDH log files to analyze. </p>
<p>UMDH creates log files when you run it in the <a href="#Bookmark138"><b>analyze a running process</b></a> mode and save the log content in a text file (<b>-f</b>).</p>
<p>When you specify one log file, UMDH analyzes the file and displays the function calls in each trace in descending order of bytes allocated. </p>
<p>When you specify two log files, UMDH compares the files and displays in descending order the function calls whose allocations have grown the most between the two trials.</p>
</dd>
<dt><a id="_______-h____"></a><a id="_______-H____"></a>       <b>-h | ?</b></dt>
<dd>
<p>Displays help.</p>
</dd>
</dl>
<h3><a id="sample_usage"></a><a id="SAMPLE_USAGE"></a>Sample Usage</h3>
<div class="code"><span codelanguage=""><table>
<tr>
<th></th>
</tr>
<tr>
<td>
<pre>umdh dump.txt
umdh -d -v dump.txt
umdh dump1.txt dump2.txt</pre>
</td>
</tr>
</table></span></div>
<h2>Remarks</h2>
<p>Suppose you have two computers: a <i>logging computer</i> where you create a UMDH log and an <i>analysis computer</i> where you analyze the UMDH log. The symbol path on your analysis computer must point to the symbols for the version of Windows that was loaded on the logging computer at the time the log was made. Do not point the symbol path on the analysis computer to a symbol server. If you do, UMDH will retrieve symbols for the version of Windows that is running on the analysis computer, and UMDH will not display meaningful results.</p></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
